* 起点:走自己账号的密码重置流程 * 关键步:篡改重置目标标识,或利用验证码可复用爆破他人验证码 * 终点:重置他人密码并接管账号 * 最终定级:高危(账号接管、认证绕过)。重置后读到敏感业务数据可按影响议升级 ### 一、业务背景 密码重置是用户找回账号的公开入口,服务端必须确认 "发起重置的人就是被重置账号的本人"。若重置接口只信任请求里的目标标识、不校验归属,或验证码用后不失效,攻击者就能把重置对象改成他人,完成账号接管。这是纯业务逻辑缺陷,不依赖技术漏洞。 ### 二、系统拓扑 * 重置接口:接收目标标识(账号 / 手机号 /uid)、验证码、新口令。 * 服务端校验:目标归属、验证码一次性与时效。 * 用户账号库:被重置的目标。 * 信任边界:请求参数可被篡改,服务端不能把参数当事实。 ### 三、角色与账号 * 攻击者:先持有自己的合法账号,走通自己的重置流程。 * 受害者账号:被篡改目标标识后被重置的对象。 * 服务端:重置校验的责任方。 ### 四、攻击起点 用自己的账号完整走一遍重置流程,抓下请求结构,再逐项改目标标识与验证码